package pers.zh.parking.di.component;

import dagger.BindsInstance;
import dagger.Component;

import com.jess.arms.di.component.AppComponent;

import pers.zh.parking.di.module.LoginModule;
import pers.zh.parking.mvp.contract.LoginContract;

import com.jess.arms.di.scope.ActivityScope;

import pers.zh.parking.mvp.ui.activity.LoginActivity;

@ActivityScope
@Component(modules = LoginModule.class, dependencies = AppComponent.class)
public interface LoginComponent {

    void inject(LoginActivity activity);

    @Component.Builder
    interface Builder {

        @BindsInstance
        LoginComponent.Builder view(LoginContract.View view);

        LoginComponent.Builder appComponent(AppComponent appComponent);

        LoginComponent build();
    }
}